![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
To access the contents, click the chapter and section titles.
Oracle Performance Tuning and Optimization
Disk Arrays As was true when you tried to lay out a batch processing system on traditional disks, the optimal layout is constrained by number of it depends. Read these guidelines, use what will work for you, and discard the rest. A minimal configuration should look something like this:
Both the data files and the indexes should be striped over as many disk drives as necessary to achieve optimal I/O rates on those disks. From Chapter 14, Advanced Disk I/O Concepts, remember that you can push a disk drive only to a maximum random I/O rate.
Unlike traditional disk drives, a disk array automatically stripes the data among all the disk drives. Therefore, you have to create only one tablespace and table for all your data. Although it is not necessary to put indexes into another tablespace, I recommend doing so for other reasons (such as monitoring and maintenance). With traditional disk partitioning, it is difficult to manage hundreds of data files and hundreds of disks; with a disk array, on the other hand, it is possible to manage hundreds of disks with just a few data files. Of course, Oracle has a 2-gigabyte limitation on the size of a data file, but this is easily resolved by creating a data file for every 2 gigabytes of space you need. The data files can all reside on the same disk array volume. By splitting tablespaces into several data files with tables striped across them (even if they reside on the same logical volume), you are also better able to take advantage of the Parallel Query option. When you use a disk array, many of the management and load-balancing tasks are greatly simplified. You also have the option of using fault tolerance without affecting system performance. Of course, using fault tolerance requires significantly more disks. I recommend that you use a disk array if possible. Software striping is fine, but if your system is under heavy loadsas it is in most batch processing activitiesyou are better off offloading that overhead to a hardware RAID controller. Hardware ConsiderationsConsider these factors when choosing hardware to use for batch processing:
If you can take advantage of the Oracle Parallel Query option, many different processes will use the machine at once; an SMP or MPP machine should scale very well. Because an SMP architecture uses CPUs based on the processes that are available to be run, if you always have a runnable process available for each CPU, you should see good scaling by adding additional processors. With an MPP machine, you see a similar effect but on a much larger scale. If you have many concurrent accesses to the disks, you benefit from a disk array. I prefer hardware striping to OS striping because hardware striping does not incur any additional overhead for the operating system and does not take up valuable CPU cycles. If hardware striping is not available, OS striping is a good alternative. During transaction processing, there is no significant network traffic, but during the load and unload processes, you may see significant network activity. If you use a high-speed network interface such as 100Base-T or fiber optics, you will see increased throughput during the load and unload processes.
|
![]() |
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. |